﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using negocios;
using objetos;
using publico;


namespace softsales.pagina.caixa
{
    public partial class caixa_formulario : System.Web.UI.Page
    {
        BLL_TB_CAIXA b_tb_caixa = new BLL_TB_CAIXA();
        OBJ_TB_CAIXA o_tb_caixa = new OBJ_TB_CAIXA();

        protected void Page_Load(object sender, EventArgs e)
        {

            if (PUB_SESSAO.Logado())
            {
                if (!IsPostBack)
                {
                    

                    if (Request["id"] != null)
                    {
                        LBL_TITULO_PAGINA.Text = "Editar Caixa";
                        if (PUB_FUNCOES.ApenasNumero(Request["id"].ToString()))
                        {
                            Editar(Request["id"].ToString());
                        }
                    }
                    else
                    {
                        LBL_TITULO_PAGINA.Text = "Incluir Caixa";
                    }

                }
                else
                {

                }
            }
        }

        private void Editar(String id)
        {
            o_tb_caixa = b_tb_caixa.SelecionarObjetoPorId(Convert.ToInt32(id));


            HF_ID.Value = o_tb_caixa.id.ToString();

            TXT_DESCRICAO.Text = o_tb_caixa.descricao.ToString();
            TXT_DOCUMENTO.Text = o_tb_caixa.documento.ToString();
            TXT_DT_EMISSAO.Text = PUB_FUNCOES.FormataDataBR(o_tb_caixa.dt_emissao.ToString());
            TXT_DT_VENCIMENTO.Text = PUB_FUNCOES.FormataDataBR(o_tb_caixa.dt_vencimento.ToString());
            DDL_ID_BANCO_CONTA_CORRENTE.SelectedValue = o_tb_caixa.id_banco_conta_corrente.ToString();
            DDL_ID_CENTRO_CUSTO.SelectedValue = o_tb_caixa.id_centro_custo.ToString();
            DDL_ID_CONTA_CONTABIL.SelectedValue = o_tb_caixa.id_conta_contabil.ToString();
            DDL_ID_EMPRESA.SelectedValue = o_tb_caixa.id_empresa.ToString();
            DDL_ID_USUARIO.SelectedValue = o_tb_caixa.id_usuario.ToString();
            TXT_ID_ORIGEM.Text = o_tb_caixa.id_origem.ToString();
            TXT_VALOR_ENTRADA.Text = PUB_FUNCOES.FormataNumerico(o_tb_caixa.valor_entrada.ToString());
            TXT_VALOR_SAIDA.Text =  PUB_FUNCOES.FormataNumerico( o_tb_caixa.valor_saida.ToString());
            TXT_NUM_CHEQUE.Text = o_tb_caixa.num_cheque.ToString();
            TXT_NUM_DUPLICATA.Text = o_tb_caixa.num_duplicata.ToString();

        }

        protected void BTN_SALVAR_Click(object sender, EventArgs e)
        {
            string msg = string.Empty;

            if (TXT_DESCRICAO.Text != string.Empty && DDL_ID_EMPRESA.SelectedValue != string.Empty && DDL_ID_CENTRO_CUSTO.SelectedValue != string.Empty)
            {
                o_tb_caixa.descricao = TXT_DESCRICAO.ToString();
                o_tb_caixa.documento = Convert.ToInt32(PUB_FUNCOES.TrataInteiro(TXT_DOCUMENTO.ToString()));
                o_tb_caixa.dt_emissao = DateTime.Now;
                o_tb_caixa.dt_vencimento = Convert.ToDateTime(TXT_DT_VENCIMENTO.ToString());
                o_tb_caixa.id_banco_conta_corrente = Convert.ToInt32(DDL_ID_BANCO_CONTA_CORRENTE.SelectedValue);
                o_tb_caixa.id_centro_custo = Convert.ToInt32(DDL_ID_CENTRO_CUSTO.SelectedValue);
                o_tb_caixa.id_conta_contabil = Convert.ToInt32(DDL_ID_CONTA_CONTABIL.SelectedValue);
                o_tb_caixa.id_empresa = Convert.ToInt32(DDL_ID_EMPRESA.SelectedValue);
                o_tb_caixa.id_origem = Convert.ToInt32(TXT_ID_ORIGEM.Text);
                o_tb_caixa.num_cheque = Convert.ToInt32(PUB_FUNCOES.TrataInteiro(TXT_NUM_CHEQUE.Text));
                o_tb_caixa.num_duplicata = Convert.ToInt32(PUB_FUNCOES.TrataInteiro(TXT_NUM_DUPLICATA.Text));
                o_tb_caixa.valor_entrada = Convert.ToDecimal(PUB_FUNCOES.TrataDecimal( TXT_VALOR_ENTRADA.Text));
                o_tb_caixa.valor_saida = Convert.ToDecimal(PUB_FUNCOES.TrataDecimal(TXT_VALOR_SAIDA.Text));

                if (HF_ID.Value != string.Empty)
                {

                    o_tb_caixa.id = Convert.ToInt32(HF_ID.Value);
                    b_tb_caixa.Alterar(o_tb_caixa);
                    msg = PUB_MENSAGEM.MSG_ALTERACAO;
                }
                else
                {
                    b_tb_caixa.Incluir(o_tb_caixa);
                     msg = PUB_MENSAGEM.MSG_INCLUSAO;
                }

                Master.MSG_ALERTA(msg, "default.aspx", false);
            }

            PUB_FUNCOES.ResetForms(Page.Controls);


        }

        protected void BTN_CANCELAR_Click(object sender, EventArgs e)
        {
            Response.Redirect("default.aspx", false);
        }
    }
}